package br.com.proway.biblioteca;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import br.com.proway.conexao.conexao;

public class CategoriaLivro extends CategoriaLivroAbstrato {

	private conexao conexao; 
	public CategoriaLivro(){
		conexao = new conexao(); 
	}
	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public int getCodigo() {
		return codigo;
	}

	public void setCodigo(int codigo) {
		this.codigo = codigo;
	}

	private String nome; 
	private int codigo; 
	
	@Override
	public void AlterarCategoria(int codigo, String nome) throws Exception {
		String sql = "update categorialivro set nome = ? where codigo = ?";
		PreparedStatement prep = conexao.getConnection().prepareStatement(sql);
		prep.setString(1, nome);
		prep.setInt(2, codigo);
		prep.execute();		
	}


	@Override
	public void ExcluirCategoria(int codigo) throws Exception {
		String sql = "delete from  categorialivro where codigo= ?";		
		PreparedStatement prep = conexao.getConnection().prepareStatement(sql);		
		prep.setInt(1, codigo);		
		prep.execute();
	}

	@Override
	public void cadastrarCategoria(String nome) throws SQLException, Exception {

		String sql = "insert into categorialivro (nome) values (?)";
		PreparedStatement prep = conexao.getConnection().prepareStatement(sql);
		prep.setString(1, nome);
		prep.execute();
		
	}

	@Override
	public ResultSet ConsultarCategoria(String nome) throws Exception {
		String sql = "select * from  categorialivro";
		
		if (nome != null){
			sql+= " where nome= ?";
		}
		PreparedStatement prep = conexao.getConnection().prepareStatement(sql);
		if (nome != null){
			prep.setString(1, nome);
		}

		return prep.executeQuery();
		
	}
	public static void main(String[] args) throws SQLException, Exception {
		CategoriaLivro c = new CategoriaLivro();
		c.cadastrarCategoria("drama");
		c.AlterarCategoria(2, "policial");
		c.ExcluirCategoria(6);
		c.ExcluirCategoria(7);
	}

}
